package com.zhang.util;

/**
 * 21级 计科院·张艺澄
 * 2024.12.8
 */

import java.util.Random;

/**
 * 生成salt的静态方法
 * 参数：n（表生成几位）
 */
public class SaltUtil {

    public static String getSalt(int n){
        //可以使用UUID，但是UUID不包含特殊字符，这里我选择自定义

        char[] chars = "0ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@#$%^&*()_+<>?".toCharArray(); //转成字符

        //使用StringBuilder将字符串拼接起来
        StringBuilder sb = new StringBuilder();
        //n.for创建for循环，Random().nextInt(chars.length)：随机生成0-char.length的整数
        for (int i = 0; i < n; i++) {
            char aChar = chars[new Random().nextInt(chars.length)];
            sb.append(aChar);
        }
        return sb.toString();//将sb转成字符串返回
    }

    //测试
    public static void main(String[] args) {
        System.out.println(getSalt(4));
        System.out.println(getSalt(10));
        /*
        测试：
            ~eM*
            tr_DolxKG@
         */
    }
}
